home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / obero / oberon_lib.lha / oberon-a / source1.lha / source / Amiga / Prefs.mod < prev    next >
Text File  |  1994-08-08  |  22KB  |  839 lines

  1. (*************************************************************************
  2.  
  3.      $RCSfile: Prefs.mod $
  4.   Description: Interface to new Preferences
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.1 $
  8.       $Author: fjc $
  9.         $Date: 1994/08/08 01:17:22 $
  10.  
  11.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1991-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A Interface Copyright © 1994, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. *************************************************************************)
  21.  
  22. MODULE Prefs;
  23.  
  24. (*
  25. ** $C- CaseChk       $I- IndexChk  $L+ LongAdr   $N- NilChk
  26. ** $P- PortableCode  $R- RangeChk  $S- StackChk  $T- TypeChk
  27. ** $V- OvflChk       $Z- ZeroVars
  28. *)
  29.  
  30. IMPORT
  31.   E   := Exec,
  32.   T   := Timer,
  33.   G   := Graphics,
  34.   I   := Intuition,
  35.   SYS := SYSTEM;
  36.  
  37. (*
  38. **      $VER: prefhdr.h 38.1 (19.6.91)
  39. **
  40. **      File format for preferences header
  41. *)
  42.  
  43. (************************************************************************)
  44.  
  45. CONST
  46.  
  47.   idPREF * = 050524546H; (* MAKE_ID('P','R','E','F') *)
  48.   idPRHD * = 050524844H; (* MAKE_ID('P','R','H','D') *)
  49.  
  50. TYPE
  51.  
  52.   PrefHeaderPtr * = CPOINTER TO PrefHeader;
  53.   PrefHeader * = RECORD
  54.     version * : E.UBYTE;  (* version of following data *)
  55.     type *    : E.UBYTE;  (* type of following data    *)
  56.     flags *   : SET;      (* always set to 0 for now   *)
  57.   END;
  58.  
  59.  
  60. (************************************************************************)
  61.  
  62. (*
  63. **      $VER: font.h 38.2 (27.9.91)
  64. **
  65. **      File format for font preferences
  66. *)
  67.  
  68. (************************************************************************)
  69.  
  70. CONST
  71.  
  72.   idFONT * = 0464F4E53H; (* MAKE_ID('F','O','N','T') *)
  73.  
  74.  
  75.   fontNameSize * = 128;
  76.  
  77. TYPE
  78.  
  79.   FontPrefsPtr * = CPOINTER TO FontPrefs;
  80.   FontPrefs * = RECORD
  81.     reserved *  : ARRAY 3 OF LONGINT;
  82.     reserved2 * : E.UWORD;
  83.     type *      : E.UWORD;
  84.     frontPen *  : E.UBYTE;
  85.     backPen *   : E.UBYTE;
  86.     drawMode *  : E.BSET;
  87.     textAttr *  : G.TextAttr;
  88.     name *      : ARRAY fontNameSize OF CHAR;
  89.   END;
  90.  
  91. CONST
  92.  
  93. (* constants for FontPrefs.fp_Type *)
  94.   fpWbFont * = 0;
  95.   fpSysFont * = 1;
  96.   fpScreenFont * = 2;
  97.  
  98. (************************************************************************)
  99.  
  100. (*
  101. **      $VER: icontrol.h 39.1 (1.10.92)
  102. **
  103. **      File format for intuition control preferences
  104. *)
  105.  
  106. (************************************************************************)
  107.  
  108. CONST
  109.  
  110.   idICTL * = 04943534CH; (* MAKE_ID('I','C','T','L') *)
  111.  
  112. TYPE
  113.  
  114.   IControlPrefs * = RECORD
  115.     reserved *    : ARRAY 4 OF LONGINT; (* System reserved              *)
  116.     timeOut *     : E.UWORD;            (* Verify timeout               *)
  117.     metaDrag *    : INTEGER;            (* Meta drag mouse event        *)
  118.     flags *       : SET;                (* IControl flags (see below)   *)
  119.     wBtoFront *   : E.UBYTE;            (* CKey: WB to front            *)
  120.     frontToBack * : E.UBYTE;            (* CKey: front screen to back   *)
  121.     reqTrue *     : E.UBYTE;            (* CKey: Requester TRUE         *)
  122.     reqFalse *    : E.UBYTE;            (* CKey: Requester FALSE        *)
  123.   END;
  124.  
  125. CONST
  126.  
  127. (* flags for IControlPrefs.ic_Flags *)
  128.   icCoerceColors * = 0;
  129.   icCoerceLace * = 1;
  130.   icStrGadFilter * = 2;
  131.   icMenuSnap * = 3;
  132.   icModePromote * = 4;
  133.  
  134. (************************************************************************)
  135.  
  136. (*
  137. **      $VER: input.h 38.2 (28.6.91)
  138. **
  139. **      File format for input preferences
  140. *)
  141.  
  142. (************************************************************************)
  143.  
  144. CONST
  145.  
  146.   idINPT * = 0494E5054H; (* MAKE_ID('I','N','P','T'); *)
  147.  
  148. TYPE
  149.  
  150.   InputPrefsPtr * = CPOINTER TO InputPrefs;
  151.   InputPrefs * = RECORD
  152.     keymap *       : ARRAY 16 OF CHAR;
  153.     pointerTicks * : E.UWORD;
  154.     doubleClick *  :  T.TimeVal;
  155.     keyRptDelay *  :  T.TimeVal;
  156.     keyRptSpeed *  :  T.TimeVal;
  157.     mouseAccel *   :  INTEGER;
  158.   END;
  159.  
  160.  
  161. (************************************************************************)
  162.  
  163. (*
  164. **      $VER: locale.h 38.4 (5.12.91)
  165. **
  166. **      File format for locale preferences
  167. *)
  168.  
  169. (************************************************************************)
  170.  
  171. CONST
  172.  
  173.   idLCLE * = 04C434C45H; (* MAKE_ID('L','C','L','E') *)
  174.   idCTRY * = 043545259H; (* MAKE_ID('C','T','R','Y') *)
  175.  
  176. TYPE
  177.  
  178.   CountryPrefsPtr * = CPOINTER TO CountryPrefs;
  179.   CountryPrefs * = RECORD
  180.     reserved * :  ARRAY 4 OF E.ULONG;
  181.     countryCode * :  E.ULONG;
  182.     telephoneCode * :  E.ULONG;
  183.     measuringSystem * :  E.UBYTE;
  184.  
  185.     dateTimeFormat * :  ARRAY 80 OF CHAR;
  186.     dateFormat * :  ARRAY 40 OF CHAR;
  187.     timeFormat * :  ARRAY 40 OF CHAR;
  188.  
  189.     shortDateTimeFormat * :  ARRAY 80 OF CHAR;
  190.     shortDateFormat * :  ARRAY 40 OF CHAR;
  191.     shortTimeFormat * :  ARRAY 40 OF CHAR;
  192.  
  193.     (* for numeric values *)
  194.     decimalPoint * :  ARRAY 10 OF CHAR;
  195.     groupSeparator * :  ARRAY 10 OF CHAR;
  196.     fracGroupSeparator * :  ARRAY 10 OF CHAR;
  197.     grouping * :  ARRAY 10 OF E.UBYTE;
  198.     fracGrouping * :  ARRAY 10 OF E.UBYTE;
  199.  
  200.     (* for monetary values *)
  201.     monDecimalPoint * :  ARRAY 10 OF CHAR;
  202.     monGroupSeparator * :  ARRAY 10 OF CHAR;
  203.     monFracGroupSeparator * :  ARRAY 10 OF CHAR;
  204.     monGrouping * :  ARRAY 10 OF E.UBYTE;
  205.     monFracGrouping * :  ARRAY 10 OF E.UBYTE;
  206.     monFracDigits * :  E.UBYTE;
  207.     monIntFracDigits * :  E.UBYTE;
  208.  
  209.     (* for currency symbols *)
  210.     monCS * :  ARRAY 10 OF CHAR;
  211.     monSmallCS * :  ARRAY 10 OF CHAR;
  212.     monIntCS * :  ARRAY 10 OF CHAR;
  213.  
  214.     (* for positive monetary values *)
  215.     monPositiveSign * :  ARRAY 10 OF CHAR;
  216.     monPositiveSpaceSep * :  E.UBYTE;
  217.     monPositiveSignPos * :  E.UBYTE;
  218.     monPositiveCSPos * :  E.UBYTE;
  219.  
  220.     (* for negative monetary values *)
  221.     monNegativeSign * :  ARRAY 10 OF CHAR;
  222.     monNegativeSpaceSep * :  E.UBYTE;
  223.     monNegativeSignPos * :  E.UBYTE;
  224.     monNegativeCSPos * :  E.UBYTE;
  225.  
  226.     calendarType * :  E.UBYTE;
  227.   END;
  228.  
  229. TYPE
  230.  
  231.   LocalePrefsPtr * = CPOINTER TO LocalePrefs;
  232.   LocalePrefs * = RECORD
  233.     reserved *           : ARRAY 4 OF E.ULONG;
  234.     countryName *        : ARRAY 32 OF CHAR;
  235.     preferredLanguages * : ARRAY 10 OF CHAR;
  236.     gmtOffset *          : LONGINT;
  237.     flags *              : SET;
  238.     countryData *        : CountryPrefs;
  239.   END;
  240.  
  241.  
  242. (************************************************************************)
  243.  
  244. (*
  245. **      $VER: overscan.h 38.4 (22.10.92)
  246. **
  247. **      File format for overscan preferences
  248. *)
  249.  
  250. (************************************************************************)
  251.  
  252. CONST
  253.  
  254.   idOSCN * = 04F53434EH; (* MAKE_ID('O','S','C','N') *)
  255.  
  256.   oscanMagic * = 0FEDCBA89H;
  257.  
  258. TYPE
  259.  
  260.   OverscanPrefsPtr * = CPOINTER TO OverscanPrefs;
  261.   OverscanPrefs * = RECORD
  262.     reserved *  : E.ULONG;
  263.     magic *     : E.ULONG;
  264.     hStart *    : E.UWORD;
  265.     hStop *     : E.UWORD;
  266.     vStart *    : E.UWORD;
  267.     vStop *     : E.UWORD;
  268.     displayID * : E.ULONG;
  269.     viewPos *   : G.Point;
  270.     text *      : G.Point;
  271.     standard *  : G.Rectangle;
  272.   END;
  273.  
  274. (* os_HStart, os_HStop, os_VStart, os_VStop can only be looked at if
  275.  * os_Magic equals OSCAN_MAGIC. If os_Magic is set to any other value,
  276.  * these four fields are undefined
  277.  *)
  278.  
  279.  
  280. (************************************************************************)
  281.  
  282. (*
  283. **      $VER: palette.h 39.2 (15.6.92)
  284. **
  285. **      File format for palette preferences
  286. *)
  287.  
  288.  
  289. (************************************************************************)
  290.  
  291. CONST
  292.  
  293.   idPALT * = 050414C54H; (* MAKE_ID('P','A','L','T') *)
  294.  
  295. TYPE
  296.  
  297.   PalettePrefsPtr * = CPOINTER TO PalettePrefs;
  298.   PalettePrefs * = RECORD
  299.     reserved *       : ARRAY 4 OF LONGINT;    (* System reserved                *)
  300.     fourColorPens *  : ARRAY 32 OF E.UWORD;
  301.     eightColorPens * : ARRAY 32 OF E.UWORD;
  302.     colors *         : ARRAY 32 OF I.ColorSpec; (* Used as full 16-bit RGB values *)
  303.   END;
  304.  
  305.  
  306. (************************************************************************)
  307.  
  308. (*
  309. **      $VER: pointer.h 39.2 (9.6.92)
  310. **
  311. **      File format for pointer preferences
  312. *)
  313.  
  314. (************************************************************************)
  315.  
  316. CONST
  317.  
  318.   idPNTR * = 0504E5452H; (* MAKE_ID('P','N','T','R') *)
  319.  
  320. (************************************************************************)
  321.  
  322. TYPE
  323.  
  324.   PointerPrefsPtr * = CPOINTER TO PointerPrefs;
  325.   PointerPrefs * = RECORD
  326.     reserved * : ARRAY 4 OF E.ULONG;
  327.     which *    : E.UWORD;            (* 0=NORMAL, 1=BUSY *)
  328.     size *     : E.UWORD;            (* see <intuition/pointerclass.h> *)
  329.     width *    : E.UWORD;            (* Width in pixels *)
  330.     height *   : E.UWORD;            (* Height in pixels *)
  331.     depth *    : E.UWORD;            (* Depth *)
  332.     ySize *    : E.UWORD;            (* YSize *)
  333.     x *, y *   : E.UWORD;            (* Hotspot *)
  334.  
  335.     (* Color Table:  numEntries = (1 << pp_Depth) - 1 *)
  336.  
  337.     (* Data follows *)
  338.   END;
  339.  
  340. (************************************************************************)
  341.  
  342. CONST
  343.  
  344. (* constants for PointerPrefs.which *)
  345.   wbpNormal * = 0;
  346.   wbpBusy * = 1;
  347.  
  348. (************************************************************************)
  349.  
  350. TYPE
  351.  
  352.   RGBTablePtr * = CPOINTER TO RGBTable;
  353.   RGBTable * = RECORD
  354.     red *   : E.UBYTE;
  355.     green * : E.UBYTE;
  356.     blue *  : E.UBYTE;
  357.   END;
  358.  
  359. (************************************************************************)
  360.  
  361. (*
  362. **      $VER: printergfx.h 38.2 (3.7.91)
  363. **
  364. **      File format for graphics printer preferences
  365. *)
  366.  
  367.  
  368. (************************************************************************)
  369.  
  370. CONST
  371.  
  372.   idPGFX * = 050474658H; (* MAKE_ID('P','G','F','X') *)
  373.  
  374. TYPE
  375.  
  376.   PrinterGfxPrefsPtr * = CPOINTER TO PrinterGfxPrefs;
  377.   PrinterGfxPrefs * = RECORD
  378.     reserved *       : ARRAY 4 OF LONGINT;
  379.     aspect *         : E.UWORD;
  380.     shade *          : E.UWORD;
  381.     image *          : E.UWORD;
  382.     threshold *      : INTEGER;
  383.     colorCorrect *   : E.UBYTE;
  384.     dimensions *     : E.UBYTE;
  385.     dithering *      : E.UBYTE;
  386.     graphicFlags *   : E.WSET;
  387.     printDensity *   : E.UBYTE;          (* Print density 1 - 7 *)
  388.     printMaxWidth *  : E.UWORD;
  389.     printMaxHeight * : E.UWORD;
  390.     printXOffset *   : E.UBYTE;
  391.     printYOffset *   : E.UBYTE;
  392.   END;
  393.  
  394. CONST
  395.  
  396. (* constants for PrinterGfxPrefs.pg_Aspect *)
  397.   paHorizontal * = 0;
  398.   paVertical * = 1;
  399.  
  400. (* constants for PrinterGfxPrefs.pg_Shade *)
  401.   psBW * = 0;
  402.   psGreyScale * = 1;
  403.   psColor * = 2;
  404.   psGreyScale2 * = 3;
  405.  
  406. (* constants for PrinterGfxPrefs.pg_Image *)
  407.   piPositive * = 0;
  408.   piNegative * = 1;
  409.  
  410. (* flags for PrinterGfxPrefs.pg_ColorCorrect *)
  411.   pccRed * = 1;        (* color correct red shades   *)
  412.   pccGreen * = 2;      (* color correct green shades *)
  413.   pccBlue * = 3;       (* color correct blue shades  *)
  414.  
  415. (* constants for PrinterGfxPrefs.pg_Dimensions *)
  416.   pdIgnore * = 0;      (* ignore max width/height settings *)
  417.   pdBounded * = 1;     (* use max w/h as boundaries        *)
  418.   pdAbsolute * = 2;    (* use max w/h as absolutes         *)
  419.   pdPixel * = 3;       (* use max w/h as prt pixels        *)
  420.   pdMultiply * = 4;    (* use max w/h as multipliers       *)
  421.  
  422. (* constants for PrinterGfxPrefs.pg_Dithering *)
  423.   pdOrdered * = 0;         (* ordered dithering *)
  424.   pdHalfTone * = 1;        (* halftone dithering        *)
  425.   pdFloyd * = 2;           (* Floyd-Steinberg dithering *)
  426.  
  427. (* flags for PrinterGfxPrefs.pg_GraphicsFlags *)
  428.   pgfCenterImage * = 0;                (* center image on paper *)
  429.   pgfIntegerScaling * = 1;             (* force integer scaling *)
  430.   pgfAntiAlias * = 2;                  (* anti-alias image      *)
  431.  
  432.  
  433. (************************************************************************)
  434.  
  435. (*
  436. **      $VER: printerps.h 38.6 (6.5.93)
  437. **
  438. **      File format for PostScript printer preferences
  439. *)
  440.  
  441.  
  442. (************************************************************************)
  443.  
  444. CONST
  445.  
  446.   idPSPD * = 050535044H; (* MAKE_ID('P','S','P','D') *)
  447.  
  448. TYPE
  449.  
  450.   PrinterPSPrefsPtr * = CPOINTER TO PrinterPSPrefs;
  451.   PrinterPSPrefs * = RECORD
  452.     reserved *      : ARRAY 4 OF LONGINT;   (* System reserved *)
  453.  
  454.     (* Global printing attributes *)
  455.     driverMode *    : E.UBYTE;
  456.     paperFormat *   : E.UBYTE;
  457.     reserved1 *     : ARRAY 2 OF E.UBYTE;
  458.     copies *        : LONGINT;
  459.     paperWidth *    : LONGINT;
  460.     paperHeight *   : LONGINT;
  461.     horizontalDPI * : LONGINT;
  462.     verticalDPI *   : LONGINT;
  463.  
  464.     (* Text Options *)
  465.     font *          : E.UBYTE;
  466.     pitch *         : E.UBYTE;
  467.     orientation *   : E.UBYTE;
  468.     tab *           : E.UBYTE;
  469.     reserved2 *     : ARRAY 8 OF E.UBYTE;
  470.  
  471.     (* Text Dimensions *)
  472.     leftMargin *    : LONGINT;
  473.     rightMargin *   : LONGINT;
  474.     topMargin *     : LONGINT;
  475.     bottomMargin *  : LONGINT;
  476.     fontPointSize * : LONGINT;
  477.     leading *       : LONGINT;
  478.     reserved3 *     : ARRAY 8 OF E.UBYTE;
  479.  
  480.     (* Graphics Options *)
  481.     leftEdge *      : LONGINT;
  482.     topEdge *       : LONGINT;
  483.     width *         : LONGINT;
  484.     height *        : LONGINT;
  485.     image *         : E.UBYTE;
  486.     shading *       : E.UBYTE;
  487.     dithering *     : E.UBYTE;
  488.     reserved4 *     : ARRAY 8 OF E.UBYTE;
  489.  
  490.     (* Graphics Scaling *)
  491.     aspect *        :  E.UBYTE;
  492.     scalingType *   :  E.UBYTE;
  493.     reserved5 *     :  E.UBYTE;
  494.     centering *     :  E.UBYTE;
  495.     reserved6 *     :  ARRAY 8 OF E.UBYTE;
  496.   END;
  497.  
  498. CONST
  499.  
  500. (* All measurements are in Millipoints which is 1/1000 of a point, or
  501.  * in other words 1/72000 of an inch
  502.  *)
  503.  
  504. (* constants for PrinterPSPrefs.ps_DriverMode *)
  505.   dmPostScript * = 0;
  506.   dmPassThrough * = 1;
  507.  
  508. (* constants for PrinterPSPrefs.ps_PaperFormat *)
  509.   pfUSLetter * = 0;
  510.   pfUSLegal * = 1;
  511.   pfA4 * = 2;
  512.   pfCustom * = 3;
  513.  
  514. (* constants for PrinterPSPrefs.ps_Font *)
  515.   fontCourier * = 0;
  516.   fontTimes * = 1;
  517.   fontHelvetica * = 2;
  518.   fontHelvNarrow * = 3;
  519.   fontAvantGarde * = 4;
  520.   fontBookman * = 5;
  521.   fontNewCent * = 6;
  522.   fontPalatino * = 7;
  523.   fontZapfChancery * = 8;
  524.  
  525. (* constants for PrinterPSPrefs.ps_Pitch *)
  526.   pitchNormal * = 0;
  527.   pitchCompressed * = 1;
  528.   pitchExpanded * = 2;
  529.  
  530. (* constants for PrinterPSPrefs.ps_Orientation *)
  531.   orientPortrait * = 0;
  532.   orientLandscape * = 1;
  533.  
  534. (* constants for PrinterPSPrefs.ps_Tab *)
  535.   tab4 * = 0;
  536.   tab8 * = 1;
  537.   tabQuart * = 2;
  538.   tabHalf * = 3;
  539.   tabInch * = 4;
  540.  
  541. (* constants for PrinterPSPrefs.ps_Image *)
  542.   imPositive * = 0;
  543.   imNegative * = 1;
  544.  
  545. (* constants for PrinterPSPrefs.ps_Shading *)
  546.   shadBW * = 0;
  547.   shadGreyScale * = 1;
  548.   shadColor * = 2;
  549.  
  550. (* constants for PrinterPSPrefs.ps_Dithering *)
  551.   dithDefault * = 0;
  552.   dithDotty * = 1;
  553.   dithVert * = 2;
  554.   dithHoriz * = 3;
  555.   dithDiag * = 4;
  556.  
  557. (* constants for PrinterPSPrefs.ps_Aspect *)
  558.   aspHoriz * = 0;
  559.   aspVert * = 1;
  560.  
  561. (* constants for PrinterPSPrefs.ps_ScalingType *)
  562.   stAspectAsis * = 0;
  563.   stAspectWide * = 1;
  564.   stAspectTall * = 2;
  565.   stAspectBoth * = 3;
  566.   stFitsWide * = 4;
  567.   stFitsTall * = 5;
  568.   stFitsBoth * = 6;
  569.  
  570. (* constants for PrinterPSPrefs.ps_Centering *)
  571.   centNone * = 0;
  572.   centHoriz * = 1;
  573.   centVert * = 2;
  574.   centBoth * = 3;
  575.  
  576.  
  577. (************************************************************************)
  578.  
  579. (*
  580. **      $VER: printertxt.h 38.2 (1.7.91)
  581. **
  582. **      File format for text printer preferences
  583. *)
  584.  
  585. (************************************************************************)
  586.  
  587. CONST
  588.  
  589.   idPTXT * = 050545854H; (* MAKE_ID('P','T','X','T') *)
  590.   idPUNT * = 050554E54H; (* MAKE_ID('P','U','N','T') *)
  591.  
  592.  
  593.   driverNameSize * = 30;                (* Filename size     *)
  594.   deviceNameSize * = 32;                  (* .device name size *)
  595.  
  596. TYPE
  597.  
  598.   PrinterTxtPrefsPtr * = CPOINTER TO PrinterTxtPrefs;
  599.   PrinterTxtPrefs * = RECORD
  600.     reserved *    : ARRAY 4 OF LONGINT; (* System reserved            *)
  601.     driver *      : ARRAY driverNameSize OF E.UBYTE; (* printer driver filename    *)
  602.     port *        : E.UBYTE;            (* printer port connection    *)
  603.  
  604.     paperType *   : E.UWORD;
  605.     paperSize *   : E.UWORD;
  606.     paperLength * : E.UWORD;            (* Paper length in # of lines *)
  607.  
  608.     pitch *       : E.UWORD;
  609.     spacing *     : E.UWORD;
  610.     leftMargin *  : E.UWORD;            (* Left margin                *)
  611.     rightMargin * : E.UWORD;            (* Right margin       *)
  612.     quality *     : E.UWORD;
  613.   END;
  614.  
  615. CONST
  616.  
  617. (* constants for PrinterTxtPrefs.pt_Port *)
  618.   ppParallel * = 0;
  619.   ppSerial * = 1;
  620.  
  621. (* constants for PrinterTxtPrefs.pt_PaperType *)
  622.   ptFanfold * = 0;
  623.   ptSingle * = 1;
  624.  
  625. (* constants for PrinterTxtPrefs.pt_PaperSize *)
  626.   psUSLetter * = 0;
  627.   psUSLegal * = 1;
  628.   psNTractor * = 2;
  629.   psWTractor * = 3;
  630.   psCustom * = 4;
  631.   psEuroA0 * = 5;                       (* European size A0: 841 x 1189 *)
  632.   psEuroA1 * = 6;                       (* European size A1: 594 x 841  *)
  633.   psEuroA2 * = 7;                       (* European size A2: 420 x 594  *)
  634.   psEuroA3 * = 8;                       (* European size A3: 297 x 420  *)
  635.   psEuroA4 * = 9;                       (* European size A4: 210 x 297  *)
  636.   psEuroA5 * = 10;                      (* European size A5: 148 x 210  *)
  637.   psEuroA6 * = 11;                      (* European size A6: 105 x 148  *)
  638.   psEuroA7 * = 12;                      (* European size A7: 74 x 105   *)
  639.   psEuroA8 * = 13;                      (* European size A8: 52 x 74    *)
  640.  
  641. (* constants for PrinterTxtPrefs.pt_PrintPitch *)
  642.   ppPica * = 0;
  643.   ppElite * = 1;
  644.   ppFine * = 2;
  645.  
  646. (* constants for PrinterTxtPrefs.pt_PrintSpacing *)
  647.   psSixLPI * = 0;
  648.   psEightLPI * = 1;
  649.  
  650. (* constants for PrinterTxtPrefs.pt_PrintQuality *)
  651.   pqDraft * = 0;
  652.   pqLetter * = 1;
  653.  
  654. TYPE
  655.  
  656.   PrinterUnitPrefsPtr * = CPOINTER TO PrinterUnitPrefs;
  657.   PrinterUnitPrefs * = RECORD
  658.     reserved *        : ARRAY 4 OF LONGINT; (* System reserved           *)
  659.     unitNum *         : LONGINT;         (* Unit number for OpenDevice() *)
  660.     openDeviceFlags * : E.ULONG;         (* Flags for OpenDevice()       *)
  661.     deviceName *      : ARRAY deviceNameSize OF E.UBYTE;
  662.                                          (* Name for OpenDevice()        *)
  663.   END;
  664.  
  665.  
  666. (************************************************************************)
  667.  
  668. (*
  669. **      $VER: screenmode.h 38.4 (25.6.92)
  670. **
  671. **      File format for screen mode preferences
  672. *)
  673.  
  674. (************************************************************************)
  675.  
  676. CONST
  677.  
  678.   idSCRM * = 05343524DH; (* MAKE_ID('S','C','R','M') *)
  679.  
  680. TYPE
  681.  
  682.   ScreenModePrefsPtr * = CPOINTER TO ScreenModePrefs;
  683.   ScreenModePrefs * = RECORD
  684.     reserved *  : ARRAY 4 OF E.ULONG;
  685.     displayID * : E.ULONG;
  686.     width *     : E.UWORD;
  687.     height *    : E.UWORD;
  688.     depth *     : E.UWORD;
  689.     control *   : E.UWORD;
  690.   END;
  691.  
  692. CONST
  693.  
  694. (* flags for ScreenModePrefs.smp_Control *)
  695.   smAutoScroll * = 1;
  696.  
  697.  
  698. (************************************************************************)
  699.  
  700. (*
  701. **      $VER: serial.h 38.2 (10.7.91)
  702. **
  703. **      File format for serial preferences
  704. *)
  705.  
  706. (************************************************************************)
  707.  
  708. CONST
  709.  
  710.   idSERL * = 05345524CH; (* MAKE_ID('S','E','R','L'); *)
  711.  
  712. TYPE
  713.  
  714.   SerialPrefsPtr * = CPOINTER TO SerialPrefs;
  715.   SerialPrefs * = RECORD
  716.     reserved *        : ARRAY 3 OF LONGINT; (* System reserved           *)
  717.     unit0Map *        : E.ULONG;     (* What unit 0 really refers to     *)
  718.     baudRate *        : E.ULONG;     (* Baud rate                        *)
  719.  
  720.     inputBuffer *     : E.ULONG;     (* Input buffer: 0 - 65536          *)
  721.     outputBuffer *    : E.ULONG;     (* Future: Output: 0 - 65536        *)
  722.  
  723.     inputHandshake *  : E.UBYTE;     (* Input handshaking                *)
  724.     outputHandshake * : E.UBYTE;     (* Future: Output handshaking       *)
  725.  
  726.     parity *          : E.UBYTE;     (* Parity                           *)
  727.     bitsPerChar *     : E.UBYTE;     (* I/O bits per character           *)
  728.     stopBits *        : E.UBYTE;     (* Stop bits                        *)
  729.   END;
  730.  
  731. CONST
  732.  
  733. (* constants for SerialPrefs.sp_Parity *)
  734.   parityNone * = 0;
  735.   parityEven * = 1;
  736.   parityOdd * = 2;
  737.   parityMark * = 3;                     (* Future enhancement *)
  738.   paritySpace * = 4;                    (* Future enhancement *)
  739.  
  740. (* constants for SerialPrefs.sp_Input/OutputHandshaking *)
  741.   hshakeXON * = 0;
  742.   hshakeRTS * = 1;
  743.   hshakeNone * = 2;
  744.  
  745.  
  746. (************************************************************************)
  747.  
  748. (*
  749. **      $VER: sound.h 38.2 (20.6.91)
  750. **
  751. **      File format for sound preferences
  752. *)
  753.  
  754. (************************************************************************)
  755.  
  756. CONST
  757.  
  758.   idSOND * = 0534F4E44H; (* MAKE_ID('S','O','N','D') *)
  759.  
  760. TYPE
  761.  
  762.   SoundPrefsPtr * = CPOINTER TO SoundPrefs;
  763.   SoundPrefs * = RECORD
  764.     reserved *      : ARRAY 4 OF LONGINT; (* System reserved            *)
  765.     displayQueue *  : BOOLEAN;            (* Flash the display?         *)
  766.     audioQueue *    : BOOLEAN;            (* Make some sound?           *)
  767.     audioType *     : E.UWORD;            (* Type of sound, see below   *)
  768.     audioVolume *   : E.UWORD;            (* Volume of sound, 0..64     *)
  769.     audioPeriod *   : E.UWORD;            (* Period of sound, 127..2500 *)
  770.     audioDuration * : E.UWORD;            (* Length of simple beep      *)
  771.     audioFileName * : ARRAY 256 OF CHAR;  (* Filename of 8SVX file      *)
  772.   END;
  773.  
  774. CONST
  775.  
  776. (* constants for SoundPrefs.sop_AudioType *)
  777.   spTypeBeep * = 0;              (* simple beep sound *)
  778.   spTypeSample * = 1;            (* sampled sound     *)
  779.  
  780.  
  781. (************************************************************************)
  782.  
  783. (*
  784. **      $VER: wbpattern.h 39.4 (11.6.92)
  785. **
  786. **      File format for wbpattern preferences
  787. *)
  788.  
  789. (************************************************************************)
  790.  
  791. CONST
  792.  
  793.   idPTRN * = 05054524EH; (* MAKE_ID('P','T','R','N') *)
  794.  
  795. (************************************************************************)
  796.  
  797. TYPE
  798.  
  799.   WBPatternPrefsPtr * = CPOINTER TO WBPatternPrefs;
  800.   WBPatternPrefs * = RECORD
  801.     reserved *   : ARRAY 4 OF E.ULONG;
  802.     which *      : E.UWORD;            (* Which pattern is it *)
  803.     flags *      : E.WSET;
  804.     revision *   : SHORTINT;           (* Must be set to zero *)
  805.     depth *      : SHORTINT;           (* Depth of pattern *)
  806.     dataLength * : E.UWORD;            (* Length of following data *)
  807.   END;
  808.  
  809. (************************************************************************)
  810.  
  811. CONST
  812.  
  813. (* constants for WBPatternPrefs.wbp_Which *)
  814.   wbpRoot * = 0;
  815.   wbpDrawer * = 1;
  816.   wbpScreen * = 2;
  817.  
  818. (* wbp_Flags values *)
  819.   wbpPattern * = 0;
  820.     (* Data contains a pattern *)
  821.  
  822.   wbpNoRemap * = 4;
  823.     (* Don't remap the pattern *)
  824.  
  825. (************************************************************************)
  826.  
  827. CONST
  828.  
  829.   maxDepth * = 3;                (*  Max depth supported (8 colors) *)
  830.   defPatDepth * = 2;              (*  Depth of default patterns *)
  831.  
  832. (*  Pattern width & height: *)
  833.   patWidth * = 16;
  834.   patHeight * = 16;
  835.  
  836. (************************************************************************)
  837.  
  838. END Prefs.
  839.